home *** CD-ROM | disk | FTP | other *** search
-
-
-
- gdb User Commands gdb
-
-
-
- NNAAMMEE
- gdb - The GNU Debugger
-
- SSYYNNOOPPSSIISS
- ggddbb [--hheellpp] [--nnxx] [--qq] [--bbaattcchh] [--ccdd==_d_i_r] [--ff] [--bb _b_p_s]
- [--ttttyy==_d_e_v] [--ss _s_y_m_f_i_l_e] [--ee _p_r_o_g] [--ssee _p_r_o_g] [--cc _c_o_r_e]
- [--xx _c_m_d_s] [--dd _d_i_r] [_p_r_o_g[_c_o_r_e|_p_r_o_c_I_D]]
-
- DDEESSCCRRIIPPTTIIOONN
- The purpose of a debugger such as GDB is to allow you to see
- what is going on ``inside'' another program while it
- executes-or what another program was doing at the moment it
- crashed.
-
- GDB can do four main kinds of things (plus other things in
- support of these) to help you catch bugs in the act:
-
-
- o+ Start your program, specifying anything that might
- affect its behavior.
-
-
- o+ Make your program stop on specified conditions.
-
-
- o+ Examine what has happened, when your program has
- stopped.
-
-
- o+ Change things in your program, so you can experiment
- with correcting the effects of one bug and go on to
- learn about another.
-
- You can use GDB to debug programs written in C, C++, and
- Modula-2. Fortran support will be added when a GNU Fortran
- compiler is ready.
-
- GDB is invoked with the shell command ggddbb. Once started, it
- reads commands from the terminal until you tell it to exit
- with the GDB command qquuiitt. You can get online help from ggddbb
- itself by using the command hheellpp.
-
- You can run ggddbb with no arguments or options; but the most
- usual way to start GDB is with one argument or two, specify-
- ing an executable program as the argument:
-
- gdb program
-
-
- You can also start with both an executable program and a
- core file specified:
-
-
-
-
- GNU Tools 4nov1991 1
-
-
-
-
-
-
- gdb User Commands gdb
-
-
-
- gdb program core
-
-
- You can, instead, specify a process ID as a second argument,
- if you want to debug a running process:
-
- gdb program 1234
-
-
- would attach GDB to process 11223344 (unless you also have a
- file named `11223344'; GDB does check for a core file first).
-
- Here are some of the most frequently needed GDB commands:
-
- bbrreeaakk [_f_i_l_e::]_f_u_n_c_t_i_o_n
- Set a breakpoint at _f_u_n_c_t_i_o_n (in _f_i_l_e).
-
- rruunn [_a_r_g_l_i_s_t]
- Start your program (with _a_r_g_l_i_s_t, if specified).
-
- bbtt Backtrace: display the program stack.
-
- pprriinntt _e_x_p_r
- Display the value of an expression.
-
- cc Continue running your program (after stopping, e.g. at
- a breakpoint).
-
- nneexxtt Execute next program line (after stopping); step _o_v_e_r
- any function calls in the line.
-
- sstteepp Execute next program line (after stopping); step _i_n_t_o
- any function calls in the line.
-
- hheellpp [_n_a_m_e]
- Show information about GDB command _n_a_m_e, or general
- information about using GDB.
-
- qquuiitt Exit from GDB.
-
- For full details on GDB, see _U_s_i_n_g _G_D_B: _A _G_u_i_d_e _t_o _t_h_e _G_N_U
- _S_o_u_r_c_e-_L_e_v_e_l _D_e_b_u_g_g_e_r, by Richard M. Stallman and Roland H.
- Pesch. The same text is available online as the ggddbb entry
- in the iinnffoo program.
-
- OOPPTTIIOONNSS
- Any arguments other than options specify an executable file
- and core file (or process ID); that is, the first argument
- encountered with no associated option flag is equivalent to
- a `--ssee' option, and the second, if any, is equivalent to a
- `--cc' option if it's the name of a file. Many options have
- both long and short forms; both are shown here. The long
-
-
-
- GNU Tools 4nov1991 2
-
-
-
-
-
-
- gdb User Commands gdb
-
-
-
- forms are also recognized if you truncate them, so long as
- enough of the option is present to be unambiguous. (If you
- prefer, you can flag option arguments with `++' rather than
- `--', though we illustrate the more usual convention.)
-
- All the options and command line arguments you give are pro-
- cessed in sequential order. The order makes a difference
- when the `--xx' option is used.
-
-
- --hheellpp
-
- --hh List all options, with brief explanations.
-
-
- --ssyymmbboollss==_f_i_l_e
-
- --ss _f_i_l_e
- Read symbol table from file _f_i_l_e.
-
-
- --eexxeecc==_f_i_l_e
-
- --ee _f_i_l_e
- Use file _f_i_l_e as the executable file to execute when
- appropriate, and for examining pure data in conjunction
- with a core dump.
-
-
- --ssee==_f_i_l_e
- Read symbol table from file _f_i_l_e and use it as the
- executable file.
-
-
- --ccoorree==_f_i_l_e
-
- --cc _f_i_l_e
- Use file _f_i_l_e as a core dump to examine.
-
-
- --ccoommmmaanndd==_f_i_l_e
-
- --xx _f_i_l_e
- Execute GDB commands from file _f_i_l_e.
-
-
- --ddiirreeccttoorryy==_d_i_r_e_c_t_o_r_y
-
- --dd _d_i_r_e_c_t_o_r_y
- Add _d_i_r_e_c_t_o_r_y to the path to search for source files.
-
- --nnxx
-
-
-
- GNU Tools 4nov1991 3
-
-
-
-
-
-
- gdb User Commands gdb
-
-
-
- --nn Do not execute commands from any `..ggddbbiinniitt' initializa-
- tion files. Normally, the commands in these files are
- executed after all the command options and arguments
- have been processed.
-
-
-
- --qquuiieett
-
- --qq ``Quiet''. Do not print the introductory and copyright
- messages. These messages are also suppressed in batch
- mode.
-
-
- --bbaattcchh
- Run in batch mode. Exit with status 00 after processing
- all the command files specified with `--xx' (and
- `..ggddbbiinniitt', if not inhibited). Exit with nonzero
- status if an error occurs in executing the GDB commands
- in the command files.
-
- Batch mode may be useful for running GDB as a filter,
- for example to download and run a program on another
- computer; in order to make this more useful, the mes-
- sage
-
- Program exited normally.
-
-
- (which is ordinarily issued whenever a program running
- under GDB control terminates) is not issued when run-
- ning in batch mode.
-
-
- --ccdd==_d_i_r_e_c_t_o_r_y
- Run GDB using _d_i_r_e_c_t_o_r_y as its working directory,
- instead of the current directory.
-
-
- --ffuullllnnaammee
-
- --ff Emacs sets this option when it runs GDB as a subpro-
- cess. It tells GDB to output the full file name and
- line number in a standard, recognizable fashion each
- time a stack frame is displayed (which includes each
- time the program stops). This recognizable format
- looks like two ` 3322' characters, followed by the file
- name, line number and character position separated by
- colons, and a newline. The Emacs-to-GDB interface pro-
- gram uses the two ` 3322' characters as a signal to
- display the source code for the frame.
-
-
-
-
- GNU Tools 4nov1991 4
-
-
-
-
-
-
- gdb User Commands gdb
-
-
-
- --bb _b_p_s
- Set the line speed (baud rate or bits per second) of
- any serial interface used by GDB for remote debugging.
-
-
- --ttttyy==_d_e_v_i_c_e
- Run using _d_e_v_i_c_e for your program's standard input and
- output.
-
- SSEEEE AALLSSOO
- `ggddbb' entry in iinnffoo; _U_s_i_n_g _G_D_B: _A _G_u_i_d_e _t_o _t_h_e _G_N_U _S_o_u_r_c_e-
- _L_e_v_e_l _D_e_b_u_g_g_e_r, Richard M. Stallman and Roland H. Pesch,
- July 1991.
-
- CCOOPPYYIINNGG
- Copyright (c) 1991 Free Software Foundation, Inc.
-
- Permission is granted to make and distribute verbatim copies
- of this manual provided the copyright notice and this per-
- mission notice are preserved on all copies.
-
- Permission is granted to copy and distribute modified ver-
- sions of this manual under the conditions for verbatim copy-
- ing, provided that the entire resulting derived work is dis-
- tributed under the terms of a permission notice identical to
- this one.
-
- Permission is granted to copy and distribute translations of
- this manual into another language, under the above condi-
- tions for modified versions, except that this permission
- notice may be included in translations approved by the Free
- Software Foundation instead of in the original English.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- GNU Tools 4nov1991 5
-
-
-
-